package com.job.sun;

import sun.applet.Main;

import java.math.BigDecimal;
import java.math.MathContext;
import java.math.RoundingMode;
import java.security.DigestException;

/**
 * @author 张春阳
 * @version 1.0
 * @since 2022-07-14 21:00:57
 */
public class UseBig {
    public static void main(String[] args) {
        //用字符串来传 如果小可以使用double
          BigDecimal b1 =new BigDecimal("3.254685645215875214592354569852");
        System.out.println(b1);
        //大数据 不能用 普通 运算符计算 使用方法
        BigDecimal b2 =new BigDecimal("20.549497974544448410248515749649745177123464156");
        //除法 divide
        //            被除数     除数  标度 小数点后几位 舍入方式
        BigDecimal b = b2.divide(b1, 3, RoundingMode.HALF_UP);
        //toString() 被重写 打印数字形式
        System.out.println(b.toString());

        BigDecimal b3=new BigDecimal(3.14);
        //乘法1                             乘数       数学上下文        精度           舍入模式
        BigDecimal multiply = b3.multiply(b1, new MathContext(30, RoundingMode.HALF_UP));
        System.out.println(multiply);
        //乘法2
        BigDecimal multiply1 = b3.multiply(b3);
        //setScale                    设置小数点位数
        multiply1 = multiply1.setScale(30, RoundingMode.HALF_UP);
        System.out.println(multiply1);
        BigDecimal multiply2 = b3.multiply(b3);
        System.out.println(multiply2);
    }
}